home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 09 Application Software / ACE-15E.SFX / ace15-tech.doc < prev    next >
Text File  |  1995-12-17  |  23KB  |  421 lines

  1. ┴├┼-128/64 ╘┼├╚╬╔├┴╠ ╔╬╞╧╥═┴╘╔╧╬  FOR ╥ELEASE #15   [╩UNE 26, 1995]
  2. ------------------------------------------------------------------------------
  3. 1. ╔╬╘╥╧─╒├╘╔╧╬
  4.  
  5. ╘HIS DOCUMENT CONTAINS SOME TECHNICAL INFORMATION ABOUT ┴├┼ THAT MAY BE OF
  6. INTEREST TO TECHNICALLY INCLINED MEMBERS OF OUR AUDIENCE.  ╘ECHNICAL
  7. INFORMATION ABOUT WRITING APPLICATIONS FOR ┴├┼ CAN BE FOUND IN THE
  8. ╨ROGRAMMER'S ╥EFERENCE ╟UIDE DOCUMENTATION, WHICH SHOULD BE AVAILABLE FROM
  9. THE SAME PLACE THAT YOU GOT THIS DOCUMENT.
  10.  
  11. 2. ╧╓┼╥╓╔┼╫ ═┼═╧╥┘ ═┴╨
  12.  
  13. ╬OTE THAT THE "ACE128" AND "ACE64" PROGRAMS ARE FUNCTIONALLY IDENTICAL, EXCEPT
  14. THAT ONE IS SET UP FOR THE 128 AND THE OTHER FOR THE 64.  ╘HUS, ALL OF THE
  15. APPICATION BINARY PROGRAMS WILL WORK WITH EITHER "ACE128" OR "ACE64".  ╠╧┴─
  16. AND ╥╒╬ THE "ACE" PROGRAM AND IT WILL LOAD THE CORRECT "KERNEL" FOR YOUR
  17. COMPUTER.
  18.  
  19. ╚ERE IS AN OVERVIEW MEMORY MAP OF ┴├┼-128/64:
  20.  
  21. $0002-$007F = APPLICATION WORK AREA (0.125╦)
  22. $0080-$00FF = SYSTEM ZERO-PAGE STORAGE (0.125╦)
  23. $0100-$01FF = PROCESSOR STACK (0.25╦)
  24. $0200-$0EFF = SYSTEM STORAGE (3.25╦)
  25. $0F00-$0FFF = KERNEL-INTERFACE VARIABLES (0.25╦)
  26. $1000-$12FF = SYSTEM STORAGE / FREE ON THE ├64 (0.75╦)
  27. $1300-$5FFF = ┴├┼ KERNEL AND DEVICE DRIVERS (23.25╦)
  28. $7000-$BFFF = APPLICATION AREA & STACK (20╦ / CONFIGURABLE SIZE)
  29. $C000-$EDFF = FREE MEMORY (11╦)
  30. $EE00-$EEFF = MODEM RECEIVE BUFFER (0.25╦ / CONFIGURABLE SIZE)
  31. $EF00-$EFFF = MODEM TRANSMIT BUFFER (0.25╦)
  32. $F000-$F7FF = REGULAR CHARACTER SET (2╦)
  33. $F800-$FBFF = VIC 40-COLUMN SCREEN (1╦)
  34. $FC00-$FEFF = FREE MEMORY (0.75╦)
  35. $FF00-$FFFF = SYSTEM STORAGE (0.25╦)
  36.  
  37. OR, IF YOU'RE ON A ├64 WITH THE SOFT-80 SCREEN CONFIGURED:
  38.  
  39. $C000-$C9FF = FREE MEMORY (2╦)
  40. $CA00-$CAFF = MODEM RECEIVE BUFFER (0.25╦ / CONFIGURABLE SIZE)
  41. $CB00-$CBFF = MODEM TRANSMIT BUFFER (0.25╦)
  42. $CC00-$CFFF = VIC 40-COLUMN SCREEN (1╦)
  43. $D000-$D7FF = REGULAR CHARACTER SET (2╦)
  44. $D800-$DFFF = SOFT-80 4-BIT CHARACTER SET (2╦)
  45. $E000-$FF3F = BITMAPPED SCREEN (7.81╦)
  46. $FF40-$FFFF = SYSTEM STORAGE (0.19╦)
  47.  
  48. ╫HEN ╔ GET AROUND TO REORGANIZING THE ╬EW ┴├┼-128 MEMORY MAP, IT WILL LOOK
  49. LIKE THE FOLLOWING:
  50.  
  51. ╥┴═0  $0000  (256)   SYSTEM ZERO PAGE
  52. ╥┴═0  $0100  (256)   SYSTEM STACK PAGE
  53. ╥┴═0  $0200  (512)   ├OMMODORE ╦ERNAL WORK AREAS / TEMPORARY STORAGE
  54. ╥┴═0  $0400  (1024)  FORTY-COLUMN-SCREEN VIDEO ╥┴═
  55. ╥┴═0  $0800  (512)   ┴├┼ INTER-BANK SYSTEM-CALL LAUNCH AREA
  56. ╥┴═0  $0A00  (256)   ├OMMODORE ╦ERNAL WORK AREA
  57. ╥┴═0  $0B00  (256)   ┴├┼ STRING BUFFER
  58. ╥┴═0  $0C00  (256)   ┴├┼ WORK AREA
  59. ╥┴═0  $0D00  (512)   ┴├┼ COMMON-╥┴═ CODE
  60. ╥┴═0  $0F00  (256)   ┴├┼ STATUS-VARIABLE STORAGE
  61. ╥┴═0  $1000  (2048)  EIGHT-BIT CHARACTER SET
  62. ╥┴═0  $1800  (256)   EXIT-DATA BUFFER
  63. ╥┴═0  $1900  (58880) ┴PPLICATION-╨ROGRAM ┴REA
  64. ╥┴═0  $FF00  (256)   ┴├┼ SYSTEM PAGE
  65.  
  66. ╥┴═1  $0000  (512)   INACCESSIBLE MEMORY
  67. ╥┴═1  $0200  (3584)  MEMORY HIDDEN BENEATH THE 4╦ OF COMMON ╥┴═ -- DYNAMIC ALLOC
  68. ╥┴═1  $1000  (32768) ┴├┼-KERNEL CODE + MISCELLANEOUS STORAGE
  69. ╥┴═1  $9000  (8192)  DISK-CACHE SPACE
  70. ╥┴═1  $B000  (20224) DYNAMICALLY-ALLOCATED MEMORY
  71. ╥┴═1  $FF00  (256)   ┴├┼ SYSTEM PAGE
  72.  
  73. RAM-CONFIGURATION REGISTERS: $FF01=╥┴═0, $FF02=╥┴═1 W/╔╧, $FF03=╥┴═1, $FF04=╥1K
  74. CALL CODE:
  75.    OPEN:  (6 BYTES)
  76.       STA $FF02
  77.       JMP KERN╞ILE╧PEN
  78. RETURN CODE:
  79.    RETURN:  (5 BYTES)
  80.       STA $FF01
  81.       CLC
  82.       RTS
  83.    RETURN┼RROR:  (12 BYTES)
  84.       STA $FF01
  85.       STA ERROR
  86.       LDX #$00
  87.       LDY #$00
  88.       SEC
  89.       RTS
  90.    INTERN├ALL:  (10 BYTES)
  91.       STA $FF01
  92.       JSR SYSWORK+13
  93.       STA $FF02
  94.       RTS
  95.    FETCH STRING BUFFER
  96.    COPY ╥┴═0 TO ╥┴═0
  97.    COPY ╥┴═0 TO ╥┴═X
  98.    COPY ╥┴═X TO ╥┴═0
  99.    ZPLOAD FROM ╥┴═X
  100.    ZPSTORE TO ╥┴═X
  101.    LOAD ╓─├ FROM ╥┴═0
  102.    STORE FROM ╓─├ TO ╥┴═0
  103.    LOAD ╓╔├ FROM ╥┴═0
  104.    CALL ├╚╥╧╒╘ FOR ╥┴═0
  105.    CALL ├╚╥╔╬ FOR ╥┴═0
  106.    TRIGGER ╥┼╒ TRANSFER
  107.    TRIGGER ╥┴═╠INK TRANSFER
  108.  
  109. 3. ┬╧╧╘╙╘╥┴╨╨╔╬╟
  110.  
  111. ═ORE EXPLANATION HERE LATER.
  112.  
  113. ACE         - THE KERNEL BOOTSTRAPPER; CAN BE RUN FROM EITHER 64 OR 128 MODE
  114. ACE128      - THE KERNEL FOR THE 128
  115. ACE64       - THE KERNEL FOR THE 64
  116. CONFIG      - THE CONFIGURATION INITIALIZER
  117. .ACERC      - THE SYSTEM CONFIGURATION - THIS IS DATA NOT AN EXECUTABLE
  118. CONFIG.EDIT - CONFIGURATION EDITOR PROGRAM (WRITTEN IN ┬┴╙╔├)
  119. ACECHR-COMMODORE - REGULAR ├OMMODORE CHARACTER SET
  120. ACECHR-ISO8859-1 - ╔╙╧ 8859-1 "8-BIT" CHARACTER SET
  121. SH          - THE COMMAND SHELL
  122. .ASHRC      - THE ┴├┼-COMMAND-SHELL AUTO-EXECUTION SHELL SCRIPT
  123.  
  124. 4. ├╧╬╞╔╟╒╥┴╘╔╧╬ ╞╔╠┼ ╞╧╥═┴╘ ╧╓┼╥╓╔┼╫
  125.  
  126. ┴├┼-128/64 ├ONFIGURATION.SYS FILE FORMAT
  127.  
  128. ╞OR DEVICES: DEVICE SLOTS "A" TO "Z" (OFFSET 0 TO 127, 32 ENTRIES):
  129.  
  130. 0 DEVICE DRIVER TYPE
  131.         0=╦ERNAL NON-DISK    1=╦ERNAL DISK       2=CONSOLE          3=NULL
  132.         4=RAMDISK            5=PARALLEL PORT     6=SWIFTLINK
  133. 1 DEVICE PRIMARY ADDRESS / SL:IOPAGE / PAR:0=CLEAN,1=NETWORK
  134. 2 DEVICE SECONDARY ADDRESS / SL:RECV┬UF╙IZE(1-27)
  135. 3 FLAGS / KD:$80=DEVICE HAS ├═─ REAL-TIME CLOCK
  136.  
  137. ╧THER:
  138.  
  139. ╧╞╞  ╙╔┌  ─┼╙├
  140. ---  ---  ----
  141. $80    1  RAMLINK DEVICE NUMBER
  142. $81    1  RAMLINK LAST LOGICAL BANK ALLOWED TO USE PLUS ONE (NORM 255)
  143. $82    4  REAL-TIME CLOCK DEVICES TO CHECK [4], 255=UNUSED, 254=╙MART╫ATCH
  144. $86    1  SCREEN SAVER ACTIVATION TIME (IN MINUTES)
  145. $87    1  ╥╘╙ ASSERTION-TO-MODEM-ACCEPTANCE DELAY PERIOD (NORM 40)
  146. $88    8  -UNUSED-
  147. $90   12  DEFAULT DATE IN ┬─├ ┘┘:┘┘:══:──:HH:MM:SS:TT:TW:╟╚:GM:AA
  148. $9C    4  TIME-ZONE STRING: 3 CHAR + NULL, LOWERCASE
  149. $┴0    1  ├128 BANK1 START FREE PAGE (NORM $04)
  150. $┴1    1  ├128 BANK1 LAST FREE PAGE PLUS ONE (NORM $FF)
  151. $┴2    1  ├128 EXPANDED INTERNAL MEMORY TYPE:
  152.           0=NONE, 1=├URCIO-256╦/512╦, 2=╨ESSI-256╦/512╦/1024╦
  153. $┴3    1  ├128 BANK0 LAST ALLOWED FREE PAGE PLUS ONE (NORM $FF)
  154. $┴4    1  ├64 SOFT-80 NON-╥┼╒ _MINIMUM_ PRESCROLLING AMOUNT (NORM 5)
  155. $┴5    1  ├128 LAST INTERNAL BANK ALLOWED TO USE ABOVE 2, PLUS ONE (NORM 8)
  156. $┴6    1  ├128 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
  157. $┴7    1  ├128 LAST ╥┼╒ BANK ALLOWED TO USE PLUS ONE (NORM 255)
  158. $┴8    1  ├128 TOP PAGE OF ╘╨┴ (STACK) (NORM $C0)
  159. $┴9    1  ├128 ╓─├ STANDARD ROW COUNT (NORM 25)
  160. $┴┴    1  ├128 KILOBYTES OF ╓─├ ╥┴═ (NORM 16)
  161. $┴┬    1  ├64 SOFT-80 ╥┼╒-HARDWARE-SCROLL PRESCROLL AMOUNT (NORM 1)
  162. $┴├    1  ├128 80-COL PRESCROLL AMOUNT (NORM 99)
  163. $┴─    1  ├128 40-COL PRESCROLL AMOUNT (NORM 99)
  164. $┴┼    1  ├64 SOFT-80 SOFTWARE-SCOLL PRESCROLL AMOUNT (NORM 99)
  165. $┴╞    1  ├64 40-COL PRESCROLL AMOUNT (NORM 99)
  166. $┬0    8  ├128 80-COL COLOR PALETTE: TABLE OF EIGHT ╥╟┬╔ CODES, OFFSETS:
  167.           0=CHAR,1=CURSOR,2=STATUS,3=SEPARAT,4=HILITE,5=ALERT,6=BORDER,7=SCREEN
  168. $┬8    8  ├128 40-COL COLOR PALETTE
  169. $├0    1  ├64 BITMAP FLAGS: $80=ALLOW SOFT-80, $40=MAKE DEFAULT, $20=╥┼╒-SCROLL
  170. $├1    1  ├64 LAST ALLOWED PAGE FREE PLUS ONE (NORM $FF)
  171. $├2    1  ├64 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
  172. $├3    1  ├64 LAST ╥┼╒ BANK ALLOWED TO USE (NORM 255)
  173. $├4    1  ├64 EXPANDED INTERNAL MEMORY TYPE: 0=NONE, 1=╨ESSI-256╦
  174. $├5    1  ├64 END EXPANDED INTERNAL MEMORY BANKS PLUS ONE (NORM 4)
  175. $├6    1  ├64 TOP PAGE OF STACK (NORM $C0)
  176. $├7    1  VIDEO TYPE: 0=╬╘╙├, 1=╨┴╠  (DEFAULT 0)
  177. $├8    1  KEY REPEAT DELAY IN JIFFIES (NORM 20)
  178. $├9    1  KEY REPEAT RATE IN JIFFIES (NORM 3)
  179. $├┴    1  CONSOLE COLOR ENABLE: $80=TEXT, $40=COLOR (DEFAULT $80)
  180. $├┬    1  INPUT LINE SCROLLBACK LINE COUNT (DEFAULT 5)
  181. $├├    1  CONTROLLER PORT #1 DEVICE: 0=NONE, 1=JOYSTICK, 2=MOUSE (DEFAULT 2)
  182. $├─    1  CONTROLLER PORT #2 DEVICE: 0=NONE, 1=JOYSTICK, 2=MOUSE (DEFAULT 1)
  183. $├┼    1  ├128 ╓─├ MAXIMUM NUMBER OF ALLOWED DISPLAY ROWS
  184. $├╞    1  ├128 ╓─├ NORMAL-TO-INTERLACED-CROSSOVER NUMBER OF DISPLAY ROWS
  185. $─0    8  ├64 80-COL COLOR PALETTE (FOR BITMAPPED HI-RES 80-COL SCREEN)
  186. $─8    8  ├64 40-COL COLOR PALETTE
  187. $┼0    1  ╥AM╠INK-╥┴═ PARTITION NUMBER
  188. $┼1   13  ╥AM╠INK-╥┴═ PARTITION NAME STRING
  189. $┼┼    1  ╥AM╠INK-╔NDIRECT-╥┼╒ PARTITION NUMBER
  190. $┼╞   17  ╥AM╠INK-╔NDIRECT-╥┼╒ PARTITION NAME STRING
  191. $100  32  INITIAL/HOME WORKING DIRECTORY ("A:")
  192. $120  32  USER-DEFINABLE KEYMATRIX-TABLE FILE, OR NULL ("")
  193. $140  64  DEFAULT SHELL EXECUTABLE-SEARCH-PATH STRING ("Z:","A:",".:","B:"...)
  194. $180  64  CONFIGURATION FILE .XXXRC SEARCH PATH ("Z:", "A:", ".:")
  195. $1├0  32  TEMPORARY DIRECTORY NAME (".:")
  196. $1┼0  32  NAME OF CHARACTERSET TO LOAD ON BOOTUP ("ACECHR-COMMODORE")
  197. $200   0  -┼╬─-
  198.  
  199. 5. ├╚┴╥┴├╘┼╥-╙┼╘ ╞╔╠┼ ╞╧╥═┴╘
  200.  
  201. ├HARACTER SETS ARE STORED IN A CUSTOM FORMAT: A 16-BYTE HEADER FOLLOWED BY A
  202. 32-BYTE SPECIAL-CHARACTER PALETTE FOLLOWED BY A 2048-BYTE 8-BIT-WIDE
  203. CHARACTERSET FOLLOWED BY A 2048-BYTE 4-BIT-WIDE CHARACTERSET.  ╘HE BEST WAY
  204. TO EDIT THIS FILE IS WITH A MACHINE-LANGUAGE MONITOR.  ╔ CAN'T REMEMBER THE
  205. EXACT FORMAT OF THE HEADER RIGHT NOW, SO ╔'LL SAVE THAT UNTIL NEXT TIME.
  206. ╘HE CHARACTER PALETTE POINTS TO THE CHARACTERS THAT WILL BE USED FOR THE
  207. CODES $80 TO $9F IN THE FOLLOWING DISPLAYABLE CHARACTER SET (├OMMODORE+╔╙╧):
  208.  
  209.           ├RAIG'S ╚ANDY ┴├┼ ╨┼╘╙├╔╔ ╧╒╘╨╒╘ ╟UIDE (INCLUDING ╔╙╧-8859-1)
  210.  
  211.   0/00 ___RVS_@___   64/40 _____@_____  128/80 __BULLET___  192/C0 _____└_____
  212.   1/01 ___RVS_A___   65/41 _____A_____  129/81 __V_LINE___  193/C1 _____┴_____
  213.   2/02 ___RVS_B___   66/42 _____B_____  130/82 __H_LINE___  194/C2 _____┬_____
  214.   3/03 ___RVS_C___   67/43 _____C_____  131/83 ___CROSS___  195/C3 _____├_____
  215.   4/04 ___RVS_D___   68/44 _____D_____  132/84 _TL_CORNER_  196/C4 _____─_____
  216.   5/05 ___RVS_E___   69/45 _____E_____  133/85 _TR_CORNER_  197/C5 _____┼_____
  217.   6/06 ___RVS_F___   70/46 _____F_____  134/86 _BL_CORNER_  198/C6 _____╞_____
  218.   7/07 _┬┼╠/RVS_G_   71/47 _____G_____  135/87 _BR_CORNER_  199/C7 _____╟_____
  219.   8/08 ___RVS_H___   72/48 _____H_____  136/88 ___L_TEE___  200/C8 _____╚_____
  220.   9/09 _╘┴┬/RVS_I_   73/49 _____I_____  137/89 ___R_TEE___  201/C9 _____╔_____
  221.  10/0A _┬╧╠/RVS_J_   74/4A _____J_____  138/8A ___T_TEE___  202/CA _____╩_____
  222.  11/0B ___RVS_K___   75/4B _____K_____  139/8B ___B_TEE___  203/CB _____╦_____
  223.  12/0C ___RVS_L___   76/4C _____L_____  140/8C ___HEART___  204/CC _____╠_____
  224.  13/0D _├╥_/RVS_M_   77/4D _____M_____  141/8D __DIAMOND__  205/CD _____═_____
  225.  14/0E ___RVS_N___   78/4E _____N_____  142/8E ___CLUB____  206/CE _____╬_____
  226.  15/0F ___RVS_O___   79/4F _____O_____  143/8F ___SPADE___  207/CF _____╧_____
  227.  16/10 ___RVS_P___   80/50 _____P_____  144/90 _S_CIRCLE__  208/D0 _____╨_____
  228.  17/11 _╓╘_/RVS_Q_   81/51 _____Q_____  145/91 __CIRCLE___  209/D1 _____╤_____
  229.  18/12 ___RVS_R___   82/52 _____R_____  146/92 ___POUND___  210/D2 _____╥_____
  230.  19/13 ___RVS_S___   83/53 _____S_____  147/93 _├╠╙/CHECK_  211/D3 _____╙_____
  231.  20/14 _┬╙_/RVS_T_   84/54 _____T_____  148/94 ____PI_____  212/D4 _____╘_____
  232.  21/15 ___RVS_U___   85/55 _____U_____  149/95 ____+/-____  213/D5 _____╒_____
  233.  22/16 ___RVS_V___   86/56 _____V_____  150/96 __DIVIDE___  214/D6 _____╓_____
  234.  23/17 ___RVS_W___   87/57 _____W_____  151/97 __DEGREE___  215/D7 _____╫_____
  235.  24/18 ___RVS_X___   88/58 _____X_____  152/98 _C_CHECKER_  216/D8 _____╪_____
  236.  25/19 ___RVS_Y___   89/59 _____Y_____  153/99 _F_CHECKER_  217/D9 _____┘_____
  237.  26/1A ___RVS_Z___   90/5A _____Z_____  154/9A _SOLID_SQ__  218/DA _____┌_____
  238.  27/1B ___RVS_[___   91/5B _____[_____  155/9B __CR_CHAR__  219/DB _____█_____
  239.  28/1C ___RVS_\___   92/5C _____\_____  156/9C _UP_ARROW__  220/DC _____▄_____
  240.  29/1D ___RVS_]___   93/5D _____]_____  157/9D _DOWN_ARRO_  221/DD _____▌_____
  241.  30/1E ___RVS_^___   94/5E _____^_____  158/9E _LEFT_ARRO_  222/DE _____▐_____
  242.  31/1F _RVS_UNDER_   95/5F _╒╬─┼╥╠╔╬┼_  159/9F _RIGHT_ARR_  223/DF ___╚╧╒╙┼___
  243.  32/20 ___╙╨┴├┼___   96/60 _┴└_GRAVE__  160/A0 _REQ SPACE_  224/E0 _A└_GRAVE__
  244.  33/21 _____!_____   97/61 _┴'_ACUTE__  161/A1 _!_INVERTD_  225/E1 _A'_ACUTE__
  245.  34/22 _____"_____   98/62 _┴^_CIRCUM_  162/A2 ___CENT____  226/E2 _A^_CIRCUM_
  246.  35/23 _____#_____   99/63 _┴▐_TILDE__  163/A3 ___POUND___  227/E3 _A▐_TILDE__
  247.  36/24 _____$_____  100/64 _┴"_DIERES_  164/A4 __CURRENCY_  228/E4 _A"_DIERES_
  248.  37/25 _____%_____  101/65 _┴__RING___  165/A5 ____YEN____  229/E5 _A__RING___
  249.  38/26 _____&_____  102/66 _┴┼________  166/A6 _▄_BROKEN__  230/E6 _AE________
  250.  39/27 _____'_____  103/67 _├,CEDILLA_  167/A7 __SECTION__  231/E7 _C,CEDILLA_
  251.  40/28 _____(_____  104/68 _┼└_GRAVE__  168/A8 __UMULAUT__  232/E8 _E└_GRAVE__
  252.  41/29 _____)_____  105/69 _┼'_ACUTE__  169/A9 _COPYRIGHT_  233/E9 _E'_ACUTE__
  253.  42/2A _____*_____  106/6A _┼^_CIRCUM_  170/AA __FEM_ORD__  234/EA _E^_CIRCUM_
  254.  43/2B _____+_____  107/6B _┼"_DIERES_  171/AB _L_ANG_QUO_  235/EB _E"_DIERES_
  255.  44/2C _____,_____  108/6C _╔└_GRAVE__  172/AC ____NOT____  236/EC _I└_GRAVE__
  256.  45/2D _____-_____  109/6D _╔'_ACUTE__  173/AD _SYL_HYPHN_  237/ED _I'_ACUTE__
  257.  46/2E _____._____  110/6E _╔^_CIRCUM_  174/AE _REGISTERD_  238/EE _I^_CIRCUM_
  258.  47/2F _____/_____  111/6F _╔"_DIERES_  175/AF _OVERLINE__  239/EF _I"_DIERES_
  259.  48/30 _____0_____  112/70 _─-_┼TH_LR_  176/B0 __DEGREES__  240/F0 _O^X_┼TH_S_
  260.  49/31 _____1_____  113/71 _╬▐_TILDE__  177/B1 ____+/-____  241/F1 _N▐_TILDA__
  261.  50/32 _____2_____  114/72 _╧└_GRAVE__  178/B2 _2_SUPERSC_  242/F2 _O└_GRAVE__
  262.  51/33 _____3_____  115/73 _╧'_ACUTE__  179/B3 _3_SUPERSC_  243/F3 _O'_ACUTE__
  263.  52/34 _____4_____  116/74 _╧^_CIRCUM_  180/B4 ___ACUTE___  244/F4 _O^_CIRCUM_
  264.  53/35 _____5_____  117/75 _╧▐_TILDE__  181/B5 ____MU_____  245/F5 _O▐_TILDE__
  265.  54/36 _____6_____  118/76 _╧"_DIERES_  182/B6 _PARAGRAPH_  246/F6 _O"_DIERES_
  266.  55/37 _____7_____  119/77 __MULTIPLY_  183/B7 __MID_DOT__  247/F7 __DIVIDE___
  267.  56/38 _____8_____  120/78 _╧/_SLASH__  184/B8 __CEDILLA__  248/F8 _O/_SLASH__
  268.  57/39 _____9_____  121/79 _╒└_GRAVE__  185/B9 _1_SUPERSC_  249/F9 _U└_GRAVE__
  269.  58/3A _____:_____  122/7A _╒'_ACUTE__  186/BA __MAS_ORD__  250/FA _U'_ACUTE__
  270.  59/3B _____;_____  123/7B _╒^_CIRCUM_  187/BB _R_ANG_QUO_  251/FB _U^_CIRCUM_
  271.  60/3C _____<_____  124/7C _╒"_DIERES_  188/BC ____1/4____  252/FC _U"_DIERES_
  272.  61/3D _____=_____  125/7D _┘'_ACUTE__  189/BD ____1/2____  253/FD _Y'_ACUTE__
  273.  62/3E _____>_____  126/7E _CAP_THORN_  190/BE ____3/4____  254/FE _SM_THORN__
  274.  63/3F _____?_____  127/7F _┼S-SED_┬__  191/BF _?_INVERTD_  255/FF _Y"_DIERES_
  275.  
  276. ╘HE IMAGES OF THE CHARACTERS IN THE CHARACTERSETS EACH TAKE UP EIGHTY BYTES
  277. AND ARE ORDERED AS IN THE TABLE ABOVE.  ╘HE 8-BIT-WIDE IS IN THE REGULAR
  278. FORMAT, AND THE FOUR-BIT-WIDE IMAGES ARE ARRANGED AS TWO IMAGES OF EACH
  279. CHARACTER IN THE UPPER AND LOWER NYBBLES OF THE EIGHT BYTES USED TO ENCODE
  280. THEM.
  281.  
  282. 6. ╦┼┘═┴╘╥╔╪ ╞╔╠┼ ╞╧╥═┴╘
  283.  
  284. ╘HE KEYMATRIX FILE FORMAT IS SIMPLY CONCATENATION OF SEVEN ARRAYS OF 88
  285. BYTES EACH.  ╘HE 88-BYTE ARRAYS CONTAIN THE CHARACTER CODES TO GENERATE FOR
  286. WHEN A USER PRESSED ONE OF THE FOLLOWING PHYSICAL KEYS:
  287.  
  288.     \                           ├╧╠╒═╬╙:
  289. ╥╧╫╙:\
  290.       \    0       1       2       3       4       5       6       7
  291.        +-------+-------+-------+-------+-------+-------+-------+-------+ CODE
  292.    0   ▄ ─┼╠┼╘┼▄ ╥┼╘╒╥╬▄ ╥╔╟╚╘ ▄  ╞7   ▄  ╞1   ▄  ╞3   ▄  ╞5   ▄ ─╧╫╬  ▄ (0)
  293.        +-------+-------+-------+-------+-------+-------+-------+-------+
  294.    1   ▄   3   ▄   ╫   ▄   ┴   ▄   4   ▄   ┌   ▄   ╙   ▄   ┼   ▄╠-╙╚╔╞╘▄ (8)
  295.        +-------+-------+-------+-------+-------+-------+-------+-------+
  296.    2   ▄   5   ▄   ╥   ▄   ─   ▄   6   ▄   ├   ▄   ╞   ▄   ╘   ▄   ╪   ▄ (16)
  297.        +-------+-------+-------+-------+-------+-------+-------+-------+
  298.    3   ▄   7   ▄   ┘   ▄   ╟   ▄   8   ▄   ┬   ▄   ╚   ▄   ╒   ▄   ╓   ▄ (24)
  299.        +-------+-------+-------+-------+-------+-------+-------+-------+
  300.    4   ▄   9   ▄   ╔   ▄   ╩   ▄   0   ▄   ═   ▄   ╦   ▄   ╧   ▄   ╬   ▄ (32)
  301.        +-------+-------+-------+-------+-------+-------+-------+-------+
  302.    5   ▄   +   ▄   ╨   ▄   ╠   ▄   -   ▄   .   ▄   :   ▄   @   ▄   ,   ▄ (40)
  303.        +-------+-------+-------+-------+-------+-------+-------+-------+
  304.    6   ▄   \   ▄   *   ▄   ;   ▄ ╚╧═┼  ▄╥-╙╚╔╞╘▄   =   ▄   ^   ▄   /   ▄ (48)
  305.        +-------+-------+-------+-------+-------+-------+-------+-------+
  306.    7   ▄   1   ▄   _   ▄├╧╬╘╥╧╠▄   2   ▄ ╙╨┴├┼ ▄├╧══╧─╥▄   ╤   ▄ ╙╘╧╨  ▄ (56)
  307.        +-------+-------+-------+-------+-------+-------+-------+-------+
  308.    8   ▄ ╚┼╠╨  ▄   8   ▄   5   ▄  ╘┴┬  ▄   2   ▄   4   ▄   7   ▄   1   ▄ (64)
  309.        +-------+-------+-------+-------+-------+-------+-------+-------+
  310.    9   ▄  ┼╙├  ▄   +   ▄   -   ▄  ╠╞   ▄ ┼╬╘┼╥ ▄   6   ▄   9   ▄   3   ▄ (72)
  311.        +-------+-------+-------+-------+-------+-------+-------+-------+
  312.   10   ▄  ┴╠╘  ▄   0   ▄   .   ▄  ╒╨   ▄ ─╧╫╬  ▄ ╠┼╞╘  ▄ ╥╔╟╚╘ ▄╬╧-╙├╥╠▄ (80)
  313.        +-------+-------+-------+-------+-------+-------+-------+-------+
  314.  
  315. ╬OTE THAT THE ├128'S KEYBOARD HAS ALL ELEVEN ROWS (0-10) WHEREAS THE ├64'S
  316. KEYBOARD ONLY HAS THE FIRST EIGHT (0-7).  ╘HE ENTIRES WITH $00 MEAN THAT
  317. PRESSING THE ASSOCIATED KEY DOES NOTHING.  ╘HERE ARE MULTIPLE KEY MATRICES
  318. TO PRODUCE THE CODES FOR USE WITH VARIOUS "SHIFT" KEYS.  ╘HE ORDER OF THE
  319. SEVEN KEY MATRICES IS:
  320.  
  321.     1. ╬ORMAL (UNSHIFTED)
  322.     2. ╙HIFT
  323.     3. ├OMMODORE
  324.     4. ├ONTROL
  325.     5. ┴LTERNATE
  326.     6. ├APS╠OCK
  327.     7. ╙HIFT+├OMMODORE
  328.  
  329. ╘HE CHARACTER CODES GENERATED SHOULD CORRESPOND TO THE FOLLOWING TABLE:
  330.  
  331.                 ├RAIG'S ╚ANDY ┴├┼ ╨┼╘╙├╔╔ ╔╬╨╒╘ ╟UIDE (╔╙╧-8859-1)
  332.  
  333.   0/00 __<NONE>___   64/40 _____@_____  128/80 ___├T-╞1___  192/C0 __╙H-*__└__
  334.   1/01 _├T-╥┼╘╒╥╬_   65/41 _____A_____  129/81 ___├O-1____  193/C1 _____┴_____
  335.   2/02 __╙H-╘┴┬___   66/42 _____B_____  130/82 ___├T-╞3___  194/C2 _____┬_____
  336.   3/03 ___╙╘╧╨____   67/43 _____C_____  131/83 __╙H-╙╘╧╨__  195/C3 _____├_____
  337.   4/04 ___╚┼╠╨____   68/44 _____D_____  132/84 __╙H-╚┼╠╨__  196/C4 _____─_____
  338.   5/05 ___├T-2____   69/45 _____E_____  133/85 ____╞1_____  197/C5 _____┼_____
  339.   6/06 __╙H-╠┼╞╘__   70/46 _____F_____  134/86 ____╞3_____  198/C6 _____╞_____
  340.   7/07 ___╙H-╠╞___   71/47 _____G_____  135/87 ____╞5_____  199/C7 _____╟_____
  341.   8/08 __├O-─┼╠___   72/48 _____H_____  136/88 ____╞7_____  200/C8 _____╚_____
  342.   9/09 ____╘┴┬____   73/49 _____I_____  137/89 ____╞2_____  201/C9 _____╔_____
  343.  10/0A _╠╔╬┼╞┼┼─__   74/4A _____J_____  138/8A ____╞4_____  202/CA _____╩_____
  344.  11/0B _╙H-╥╔╟╚╘__   75/4B _____K_____  139/8B ____╞6_____  203/CB _____╦_____
  345.  12/0C ___├O-╒╨___   76/4C _____L_____  140/8C ____╞8_____  204/CC _____╠_____
  346.  13/0D __╥┼╘╒╥╬___   77/4D _____M_____  141/8D _╙H-╥┼╘╒╥╬_  205/CD _____═_____
  347.  14/0E _╙H-┼╙├┴╨┼_   78/4E _____N_____  142/8E ___├T-╞5___  206/CE _____╬_____
  348.  15/0F __├O-─╧╫╬__   79/4F _____O_____  143/8F ___├T-╞7___  207/CF _____╧_____
  349.  16/10 __├O-╠┼╞╘__   80/50 _____P_____  144/90 ___├T-1____  208/D0 _____╨_____
  350.  17/11 ___─╧╫╬____   81/51 _____Q_____  145/91 ____╒╨_____  209/D1 _____╤_____
  351.  18/12 ____╥╓╙____   82/52 _____R_____  146/92 __╥╓╙-╧╞╞__  210/D2 _____╥_____
  352.  19/13 ___╚╧═┼____   83/53 _____S_____  147/93 ____├╠╥____  211/D3 _____╙_____
  353.  20/14 ____─┼╠____   84/54 _____T_____  148/94 ___╔╬╙╘____  212/D4 _____╘_____
  354.  21/15 _├O-╥╔╟╚╘__   85/55 _____U_____  149/95 ___├O-2____  213/D5 _____╒_____
  355.  22/16 ___├T-╒╨___   86/56 _____V_____  150/96 ___├O-3____  214/D6 _____╓_____
  356.  23/17 __├T-─╧╫╬__   87/57 _____W_____  151/97 ___├O-4____  215/D7 _____╫_____
  357.  24/18 __├T-╘┴┬___   88/58 _____X_____  152/98 ___├O-5____  216/D8 _____╪_____
  358.  25/19 __├T-╠┼╞╘__   89/59 _____Y_____  153/99 ___├O-6____  217/D9 _____┘_____
  359.  26/1A _├T-╥╔╟╚╘__   90/5A _____Z_____  154/9A ___├O-7____  218/DA _____┌_____
  360.  27/1B ____┼╙├____   91/5B _____[_____  155/9B ___├O-8____  219/DB __╙H-+__█__
  361.  28/1C ___├T-3____   92/5C _____\_____  156/9C ___├T-5____  220/DC __╙H-\__▄__
  362.  29/1D ___╥╔╟╚╘___   93/5D _____]_____  157/9D ___╠┼╞╘____  221/DD __╙H--__▌__
  363.  30/1E ___├T-6____   94/5E _____^_____  158/9E ___├T-8____  222/DE __╙H-^__▐__
  364.  31/1F ___├T-7____   95/5F _┬┴├╦┴╥╥╧╫_  159/9F ___├T-4____  223/DF _╙H-┬┴├╦┴╥_
  365.  32/20 ___╙╨┴├┼___   96/60 ___┴LT-@___  160/A0 __├OMM-@___  224/E0 __├TRL-@___
  366.  33/21 _____!_____   97/61 ___┴LT-┴___  161/A1 __├OMM-┴___  225/E1 __├TRL-┴___
  367.  34/22 _____"_____   98/62 ___┴LT-┬___  162/A2 __├OMM-┬___  226/E2 __├TRL-┬___
  368.  35/23 _____#_____   99/63 ___┴LT-├___  163/A3 __├OMM-├___  227/E3 __├TRL-├___
  369.  36/24 _____$_____  100/64 ___┴LT-─___  164/A4 __├OMM-─___  228/E4 __├TRL-─___
  370.  37/25 _____%_____  101/65 ___┴LT-┼___  165/A5 __├OMM-┼___  229/E5 __├TRL-┼___
  371.  38/26 _____&_____  102/66 ___┴LT-╞___  166/A6 __├OMM-╞___  230/E6 __├TRL-╞___
  372.  39/27 _____'_____  103/67 ___┴LT-╟___  167/A7 __├OMM-╟___  231/E7 __├TRL-╟___
  373.  40/28 _____(_____  104/68 ___┴LT-╚___  168/A8 __├OMM-╚___  232/E8 __├TRL-╚___
  374.  41/29 _____)_____  105/69 ___┴LT-╔___  169/A9 __├OMM-╔___  233/E9 __├TRL-╔___
  375.  42/2A _____*_____  106/6A ___┴LT-╩___  170/AA __├OMM-╩___  234/EA __├TRL-╩___
  376.  43/2B _____+_____  107/6B ___┴LT-╦___  171/AB __├OMM-╦___  235/EB __├TRL-╦___
  377.  44/2C _____,_____  108/6C ___┴LT-╠___  172/AC __├OMM-╠___  236/EC __├TRL-╠___
  378.  45/2D _____-_____  109/6D ___┴LT-═___  173/AD __├OMM-═___  237/ED __├TRL-═___
  379.  46/2E _____._____  110/6E ___┴LT-╬___  174/AE __├OMM-╬___  238/EE __├TRL-╬___
  380.  47/2F _____/_____  111/6F ___┴LT-╧___  175/AF __├OMM-╧___  239/EF __├TRL-╧___
  381.  48/30 _____0_____  112/70 ___┴LT-╨___  176/B0 __├OMM-╨___  240/F0 __├TRL-╨___
  382.  49/31 _____1_____  113/71 ___┴LT-╤___  177/B1 __├OMM-╤___  241/F1 __├TRL-╤___
  383.  50/32 _____2_____  114/72 ___┴LT-╥___  178/B2 __├OMM-╥___  242/F2 __├TRL-╥___
  384.  51/33 _____3_____  115/73 ___┴LT-╙___  179/B3 __├OMM-╙___  243/F3 __├TRL-╙___
  385.  52/34 _____4_____  116/74 ___┴LT-╘___  180/B4 __├OMM-╘___  244/F4 __├TRL-╘___
  386.  53/35 _____5_____  117/75 ___┴LT-╒___  181/B5 __├OMM-╒___  245/F5 __├TRL-╒___
  387.  54/36 _____6_____  118/76 ___┴LT-╓___  182/B6 __├OMM-╓___  246/F6 __├TRL-╓___
  388.  55/37 _____7_____  119/77 ___┴LT-╫___  183/B7 __├OMM-╫___  247/F7 __├TRL-╫___
  389.  56/38 _____8_____  120/78 ___┴LT-╪___  184/B8 __├OMM-╪___  248/F8 __├TRL-╪___
  390.  57/39 _____9_____  121/79 ___┴LT-┘___  185/B9 __├OMM-┘___  249/F9 __├TRL-┘___
  391.  58/3A _____:_____  122/7A ___┴LT-┌___  186/BA __├OMM-┌___  250/FA __├TRL-┌___
  392.  59/3B _____;_____  123/7B ___┴LT-[___  187/BB __├OMM-[___  251/FB __├TRL-[___
  393.  60/3C _____<_____  124/7C ___┴LT-\___  188/BC __├OMM-\___  252/FC __├TRL-\___
  394.  61/3D _____=_____  125/7D ___┴LT-]___  189/BD __├OMM-]___  253/FD __├TRL-]___
  395.  62/3E _____>_____  126/7E ___┴LT-^___  190/BE __├OMM-^___  254/FE __├TRL-^___
  396.  63/3F _____?_____  127/7F _┴LT-┬┴╦┴╥_  191/BF _├OMM-┬╦┴╥_  255/FF _├TRL-┬╦┴╥_
  397.  
  398. 7. ╓┬═ ╞╔╠┼ ╞╧╥═┴╘
  399.  
  400. ╘HERE ARE TWO ╓┬═ FILE FORMATS IN EXISTENCE: ╓ERSION #2 AND ╓ERSION #3.  ╞OR
  401. ╓ERSION #3, THERE ARE TWO VARIATIONS AVAILABLE: ├OMPRESSED AND ╒NCOMPRESSED.
  402. ┴LL ╓┬═ FILES BEGIN WITH THE FOLLOWING THREE-BYTE IDENTIFIER: $42, $4D, $CB.
  403. ╘HIS IS FOLLOWED BY THE VERSION NUMBER, EITHER $02 OR $03, FOLLOWED BY THE
  404. IMAGE WIDTH AND HEIGHT, EACH ENCODED IN 16 BITS IN HIGH/LOW ORDER.
  405.  
  406. ╞OR ╓ERSION #2 IMAGES, THE IMAGE DATA FOLLOWS, BUT ╓ERSION #3 IMAGES HAVE
  407. MORE HEADER INFORMATION: FIVE BYTES FOR THE COMPRESSION-ENCODING META DATA
  408. FOLLOWED BY A TWO $00 BYTES (RESERVED), FOLLOWED BY A 16-BIT HIGH/LOW FIELD
  409. GIVING TELLING THE LENGTH OF THE COMMENT BLOCK, FOLLOWED BY UP TO 64╦ OF
  410. COMMENT TEXT (IN ╨┼╘╙├╔╔), FOLLOWED BY THE IMAGE DATA.  ╔F THE IMAGE IS
  411. COMPRESSED, THEN THE COMPRESSION-ENCODING META DATA IS: THE REPEAT CODE
  412. (USUALLY $╪╪: FOR CODING REPETITIONS OF ANY ARBITRARY IMAGE BYTE), THE ZERO
  413. CODE (USUALLY $╪╪, FOR CODING THREE OR MORE REPETITIONS OF THE IMAGE-BYTE
  414. $00), THE ... OH NEVER MIND.  ╔'LL FILL THIS IN NEXT TIME.  ┘OU CAN EXAMINE
  415. THE ├ PROGRAM TO SEE HOW THE IMAGES ARE ENCODED.
  416.  
  417. 8. ├╧╬├╠╒╙╔╧╬
  418.  
  419. ├OOL EH?
  420. ------------------------------------------------------------------------┼╬─---
  421.